﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ECommerce.DAO.Cache
{
    public static class CacheHelper
    {
        public static ECommerce.Model.Objeto GetObjetoById(Int32 Id)
        {
            ECommerce.Model.Objeto Objeto = new ECommerce.Model.Objeto();
            try
            {
                Objeto = (ECommerce.Model.Objeto)System.Web.HttpRuntime.Cache["HObjeto-" + Id];
            }
            catch (Exception ex)
            {
                Objeto = null;
            }
            if (Objeto != null)
                if (Objeto.Id == 0)
                    Objeto = null;
            return Objeto;
        }
        public static int SetObjeto(ECommerce.Model.Objeto Objeto)
        {
            try
            {
                System.Web.HttpRuntime.Cache.Insert("HObjeto-" + Objeto.Id.ToString(), Objeto);
            }
            catch (Exception ex)
            {
            }
            return Objeto.Id;
        }
        public static int DelObjeto(ECommerce.Model.Objeto Objeto)
        {
            try
            {
                System.Web.HttpRuntime.Cache.Remove("HObjeto-" + Objeto.Id.ToString());
            }
            catch (Exception ex)
            {
            }
            return Objeto.Id;
        }
        public static ECommerce.Model.Objeto[] GetObjetos(Int32 Id, string prefijo)
        {
            ECommerce.Model.Objeto[] Objetos;
            try
            {
                Objetos = (ECommerce.Model.Objeto[])System.Web.HttpRuntime.Cache["HObjeto-"+prefijo+"-" + Id];
            }
            catch (Exception ex)
            {
                Objetos = null;
            }
            if (Objetos != null)
                if (Objetos.Length == 0)
                    Objetos = null;
            return Objetos;
        }
        public static void SetObjetos(ECommerce.Model.Objeto[] Objetos, Int32 Id, string prefijo)
        {
            try
            {
                System.Web.HttpRuntime.Cache.Insert("HObjeto-" + prefijo + "-" +Id.ToString(), Objetos);
            }
            catch (Exception ex)
            {
            }
        }
        public static void DelObjetos(Int32 Id, string prefijo)
        {
            try
            {
                System.Web.HttpRuntime.Cache.Remove("HObjeto-" + prefijo + "-" + Id.ToString());
            }
            catch (Exception ex)
            {
            }
        }
     }    
}
